home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d5 / seawolf.arc / SEAWOLF.BAS < prev   
Encoding:
BASIC Source File  |  1986-03-30  |  7.5 KB  |  198 lines

  1. 10 KEY OFF:CLS
  2. 20 SCREEN 0
  3. 30 WIDTH 40
  4. 40 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  5. 50 PRINT"░┌───────────────────────────────────┐░"
  6. 60 PRINT"░│                                   │░"
  7. 70 PRINT"░│            2065-A.BAS             │░"
  8. 80 PRINT"░│             SEAWOLF               │░"
  9. 90 PRINT"░│                                   │░"
  10. 100 PRINT"░│                                   │░"
  11. 110 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
  12. 120 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
  13. 130 PRINT"░│        █   █   █ █     █   █      │░"
  14. 140 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
  15. 150 PRINT"░│        █   █     █     █   █      │░"
  16. 160 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
  17. 170 PRINT"░│                                   │░"
  18. 180 PRINT"░│      International PC Owners      │░"
  19. 190 PRINT"░│                                   │░"
  20. 200 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
  21. 210 PRINT"░│                                   │░"
  22. 220 PRINT"░└───────────────────────────────────┘░"
  23. 230 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  24. 240 PRINT
  25. 250 PRINT "       PRESS ANY KEY TO CONTINUE
  26. 260 A$=INKEY$: IF A$="" THEN 260
  27. 270 WIDTH 80
  28. 280 CLS
  29. 1000       REM     ** SEAWOLF **
  30. 1010       REM     IBM PC Version (1.0)    06/15/82
  31. 1020       REM     Written by Pat Gibson
  32. 1030       REM     Derived from original version in PDP-11/70 BASIC  03/13/77 by
  33. 1040       REM     Pat Gibson  (Findlay College, Findlay Ohio)
  34. 1050       REM
  35. 1060       REM     If you have any suggestions or contributions please send to
  36. 1070       REM          P. Gibson   700 N. Main St.  Findlay, Ohio  45840
  37. 1080       REM
  38. 1090      CLS
  39. 1100    SHIP$(1,1) = "<Pt" : SHIP$(1,2) = "Pt>" : SHIP$(1,3) = "   "
  40. 1110    SHIP$(2,1) = "<Sub+" : SHIP$(2,2) = "+Sub>" : SHIP$(2,3) = "     "
  41. 1120    SHIP$(3,1) = "\Tanker/" : SHIP$(3,2) = "\Tanker/" : SHIP$(3,3) = "        "
  42. 1130    SHIP(1)=5 : SHIP(2)=2 : SHIP(3)=3
  43. 1140    ON KEY(11) GOSUB 2260
  44. 1150    ON KEY(12) GOSUB 2270
  45. 1160    ON KEY(13) GOSUB 2290
  46. 1170    ON KEY(1) GOSUB 2510
  47. 1180    ST$ = " "
  48. 1190    SITE1$=CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(221)
  49. 1192    SITE2$=CHR$(206)
  50. 1194    SITE3$=CHR$(222)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)
  51. 1200    SIGHTX = 35 : SIGHTM = 0
  52. 1210    SEED = VAL(RIGHT$(TIME$,2)) : RANDOMIZE SEED
  53. 1220    SIGHT1$=CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(221)+" "+CHR$(222)+CHR$(220)+CHR$(220)+CHR$(220)+CHR$(220)
  54. 1230    SHIPX = 1 : SHIPY = 1
  55. 1240    SITE$ = SIGHT$
  56. 1250    SHIPM = 2
  57. 1260    TORPEDO$ = CHR$(186)
  58. 1270    S = 1
  59. 1280    PTIME = 60
  60. 1290    SCORE = 0
  61. 1300    COLOR 15,0
  62. 1310    GOSUB 2310
  63. 1320    COLOR 7,0
  64. 1330    LOCATE 1,1,0
  65. 1340    CLS
  66. 1350    LOCATE 1,3 : PRINT "score  "; : COLOR 15,0 : PRINT "0" : COLOR 7,0
  67. 1360    LOCATE 1,20 : PRINT "Time"
  68. 1370    LOCATE 23,1 : COLOR 1
  69. 1380    FOR T = 1 TO 80 : PRINT CHR$(220); : NEXT T
  70. 1390    KEY(11) ON : KEY(12) ON : KEY(13) ON : KEY(1) ON
  71. 1400    X$=INKEY$ : IF X$=" " THEN GOSUB 2190
  72. 1405    IF SIGHTX >=67 AND SIGHTM >=0 THEN 1430
  73. 1410    IF SIGHTX <= 3 AND SIGHTM <= 0 THEN 1430
  74. 1420    SIGHTX = SIGHTX + SIGHTM
  75. 1430    LOCATE 23,SIGHTX : COLOR 1 : PRINT SITE1$;
  76. 1432    IF FIRE=1 THEN PRINT " "; ELSE COLOR 6 : PRINT SITE2$;
  77. 1434    COLOR 1 : PRINT SITE3$;
  78. 1440    IF FIRE = 0 THEN 1600
  79. 1450    IF TORPEDOY < 3 THEN GOTO 1510
  80. 1460    TORPEDOY = TORPEDOY - 2
  81. 1470    COLOR 15,0
  82. 1480    LOCATE TORPEDOY,TORPEDOX : PRINT TORPEDO$
  83. 1490    COLOR   7,0
  84. 1500    GOTO 1540
  85. 1510    PLAY "mb l64 o0;a"
  86. 1520    FIRE = 0
  87. 1530    SITE$ = SIGHT$
  88. 1540    TEMPY = TORPEDOY + 2
  89. 1550    LOCATE TEMPY,TORPEDOX : PRINT " "
  90. 1560    IF FIRE = 1 THEN 1610
  91. 1570    TORPEDOY = 22
  92. 1580    LOCATE 2,TORPEDOX : PRINT " "
  93. 1590    GOTO 1610
  94. 1600    LOCATE 1,1 : PRINT " "
  95. 1610    IF SHIPY <> 1 THEN 1690
  96. 1620    SHIPNUM = INT(RND(S) * 3) + 1 : S = S + 1
  97. 1630    DIR = INT(RND(S) * 2) + 1
  98. 1640    SHIPY = INT(RND(S) * 4) * 2
  99. 1650    SHIPY = SHIPY + 4
  100. 1660    IF DIR = 1 THEN SHIPM = -1 ELSE SHIPM = 1
  101. 1670    IF DIR = 1 THEN SHIPX = 71 ELSE SHIPX = 2
  102. 1680    SHIPM = SHIPM + ((3 - SHIPNUM) * SHIPM)
  103. 1690    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  104. 1700    SHIPX = SHIPX + SHIPM
  105. 1710    LOCATE SHIPY,SHIPX : COLOR SHIP(SHIPNUM) : PRINT SHIP$(SHIPNUM,DIR)
  106. 1720    IF SHIPX < 3 OR SHIPX > 70 THEN GOTO 1750
  107. 1730    IF SHIPNUM = 1 AND SHIPX < 4 THEN GOTO 1750
  108. 1740    GOTO 1770
  109. 1750    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  110. 1760    SHIPY = 1
  111. 1770    IF FIRE = 0 THEN 2120
  112. 1780    IF SCREEN(TORPEDOY,TORPEDOX) = ASC(TORPEDO$) OR SCREEN(TORPEDOY,TORPEDOX) = 32 THEN 2120
  113. 1790    LM = LEN(SHIP$(SHIPNUM,1))
  114. 1800    LOCATE TORPEDOY,SHIPX : COLOR 15
  115. 1802    FOR T=1 TO LM : PRINT CHR$(219); : NEXT T
  116. 1810    COLOR 14 : LOCATE TORPEDOY,SHIPX
  117. 1820    FOR T = 1 TO LM : PRINT CHR$(219); : NEXT T
  118. 1830    PLAY "mf o0 l64;d"
  119. 1840    COLOR 6 : LOCATE TORPEDOY,SHIPX
  120. 1850    FOR T = 1 TO LM : PRINT CHR$(178); : NEXT T
  121. 1860    PLAY "mf o0 l64;e"
  122. 1870    COLOR 4 : LOCATE TORPEDOY,SHIPX
  123. 1880    FOR T = 1 TO LM : PRINT CHR$(177); : NEXT T
  124. 1890    PLAY "mf o0 l64;f"
  125. 1900    LOCATE TORPEDOY,SHIPX
  126. 1910    FOR T = 1 TO LM : PRINT CHR$(176); : NEXT T
  127. 1920    PLAY "mf o0 l64;g"
  128. 1930    LOCATE TORPEDOY,SHIPX : PRINT "         "
  129. 1940    SOUND 38,4
  130. 1950    FIRE = 0
  131. 1960    SITE$ = SIGHT$
  132. 1970    LOCATE SHIPY,SHIPX : PRINT SHIP$(SHIPNUM,3)
  133. 1980    SHIPY = 1
  134. 1990    IF SHIPNUM = 1 THEN SCORE = SCORE + 700
  135. 2000    IF SHIPNUM = 2 THEN SCORE = SCORE + 300
  136. 2010    IF SHIPNUM = 3 THEN SCORE = SCORE + 100
  137. 2020    LOCATE 1,10
  138. 2030    PRINT SCORE
  139. 2040    COLOR 7,0
  140. 2050    IF EXTEND < 3 AND SCORE >= 9000 THEN GOTO 2090
  141. 2060    IF EXTEND < 2 AND SCORE >= 6000 THEN GOTO 2090
  142. 2070    IF EXTEND < 1 AND SCORE >= 3000 THEN GOTO 2090
  143. 2080    GOTO 2120
  144. 2090    PLAY "mb o2 l8;bbb;l4;g"
  145. 2100    PTIME = PTIME + 30
  146. 2110    EXTEND = EXTEND + 1
  147. 2120    LOCATE 1,26
  148. 2130    IF PTIME < 11 THEN COLOR 27,0 ELSE COLOR 15,0
  149. 2140    PRINT INT(PTIME)
  150. 2150    COLOR 7,0
  151. 2160    IF PTIME < .8 THEN 2500
  152. 2170    PTIME = PTIME - .1
  153. 2180    GOTO 1400
  154. 2190   IF FIRE = 1 THEN RETURN
  155. 2200   TORPEDOY = 22
  156. 2210   FIRE = 1
  157. 2220   SOUND 50,8
  158. 2230   TORPEDOX = SIGHTX + 5
  159. 2240   SITE$ = SIGHT1$
  160. 2250   RETURN
  161. 2260   SIGHTM = 0:RETURN
  162. 2270   SIGHTM = -4
  163. 2280   RETURN
  164. 2290   SIGHTM = 4
  165. 2300   RETURN
  166. 2310   LOCATE 3,1
  167. 2315    COLOR 4
  168. 2320   PRINT "         Welcome to Sea-Wolf (Version 1.0)"
  169. 2330   PRINT " "
  170. 2335   COLOR 7
  171. 2340   PRINT " The object of the game is to sink the enemy invasion fleet"
  172. 2350   PRINT " "
  173. 2360   PRINT "  The fleet consist of the following:
  174. 2370   PRINT " "
  175. 2380   PRINT "                 PT boats.............";
  176. 2385   COLOR SHIP(1) : PRINT SHIP$(1,1);"          700 pts." : COLOR 7
  177. 2390   PRINT "                 Submarines...........";
  178. 2395   COLOR SHIP(2) : PRINT SHIP$(2,1);"       300 pts." : COLOR 7
  179. 2400   PRINT "                 Oil Tanker...........";
  180. 2405   COLOR SHIP(3) : PRINT SHIP$(3,1);"     100 pts." : COLOR 7
  181. 2410   PRINT " "
  182. 2420   PRINT " Your torpedo sight is located at the bottom of the screen.  To"
  183. 2430   PRINT "move your sight press left arrow (4) for left movement and right"
  184. 2440   PRINT "arrow (6) for right movement.  Up arrow (8) will stop the sight at"
  185. 2450   PRINT "that particular position.  Your fire key is the SPACE BAR."
  186. 2460   PRINT " "
  187. 2470   LOCATE 21,1 : PRINT "           Press RETURN key to begin";
  188. 2480 LINE INPUT XYZ$
  189. 2490   RETURN
  190. 2500   PLAY "mb o3 l8;defefefgg"
  191. 2510   CLS : PRINT "Your score was ";SCORE
  192. 2520   LOCATE 2,3 : PRINT "try again? (Y/N)";
  193. 2530   INPUT Y$
  194. 2540   IF LEFT$(Y$,1) = "y" OR LEFT$(Y$,1) = "Y" THEN GOTO 1090
  195. 2550   COLOR 7,0 : CLS
  196. 2560   SYSTEM
  197. 2570   END
  198.